In recent years, as can been seen in wide area Ethernet (registered trademark) services, Ethernet (registered trademark) has been adopted for a trunk system communication system.
Among the reasons, in addition to low-cost of a node operable conformed to Ethernet (registered trademark) (hereinafter, referred to as an Ethernet (registered trademark) node) on such a device as SONET according to related art, is that the system is easy to handle.
On the other hand, in terms of reliability, Ethernet (registered trademark) developed for LAN (Local Area Network) fails to sufficiently satisfy performance required of a trunk system communication system.
Such protocol as Spanning Tree Protocol (STP) or Rapid Spanning Tree Protocol (RSTP) which allows redundancy of a communication path has been standardized by IEEE (the Institute of Electrical and Electronics Engineers), while protocol which duplexes an Ethernet (registered trademark) node has been uniquely developed by a device vender, so that reliability of an Ethernet (registered trademark) network has been improved to lead to application to a trunk system communication system today.
In the following, for clarifying necessity of the present invention, description will be made of Ethernet (registered trademark) frame transfer operation at a normal state and failure recovery operation when abnormality occurs such as link cut-of or a failure of an Ethernet (registered trademark) node in an Ethernet (registered trademark) network to which applied is STP which is disclosed in IEEE 802.1D (Non-patent Literature 1) as the standardization document issued in 1998 by IEEE.
(Structure of Communication System)
Communication system shown in FIG. 1 is an Ethernet (registered trademark) network formed of three Ethernet (registered trademark) nodes 100˜120 operable conformed to STP (hereinafter referred to as an STP node) and three Ethernet (registered trademark) nodes 300˜320.
The Ethernet (registered trademark) nodes 300˜320 are accommodated in the STP nodes 100˜120, respectively, as terminals under the control of the STP nodes 100˜120.
Although a plurality of Ethernet (registered trademark) nodes can be accommodated under the STP nodes 100˜120, for the simplification of the description, it is assumed here that the STP nodes 100˜120 each accommodate one Ethernet (registered trademark) node.
Such a structure can be used as well in which further under the Ethernet (registered trademark) nodes 300˜320, other Ethernet (registered trademark) node is connected unless a loop is formed.
Assume that ports P1 and P2 of the STP nodes 100˜120 are set to be ports which are to be controlled by STP and that setting a port state of these ports to be either a forwarding state (O in FIG. 1) or a blocked state (x in FIG. 1) as shown in FIG. 1 by the operation of STP among the STP nodes 100˜120 results in forming a spanning tree indicated by a heavy line in FIG. 1.
Since a process of determining a port state of a port to be controlled under STP by the STP nodes 100˜120 by STP, that is, a process of forming a spanning tree is not closely related to the present invention, no detailed description will be made thereof.
Ports at the opposite ends of a link included in the spanning tree is at a state where data frame transmission/reception is allowed (forwarding state) and one port of a link not included in the spanning tree is at the forwarding state, while the other port is at a state where data frame transmission/reception is inhibited (blocked state), that is, the link is logically cut off.
Since a frame is transmitted/received to/from a port in the forwarding state, in an Ethernet (registered trademark) network to which STP is applied, the frame will be transferred along the spanning tree.
(Structure of Node)
FIG. 3 is a diagram showing a structure of the above-described STP node 100.
Structure of the STP nodes 110 and 120 is the same as that of the STP node 100.
With reference to FIG. 3, the STP node 100 is formed of input ports 400-1˜400-3, frame analysis units 410-1 and 410-2, a switch unit 420, frame multiplexing units 430-1 and 430-2, output ports 440-1˜440-3, an FDB (Forwarding Data Base) unit 450, an FDB control unit 460, an FDB 470, an STP unit 500 and a port state table 510.
The input ports 400-1˜400-3 of the STP node 100 are ports for receiving a frame transmitted from the adjacent Ethernet (registered trademark) node 300 or STP node 110 or STP node 120, which are equivalent to reception units of P1˜P3 of the STP node 100 shown in FIG. 1.
In the following, denotation of the input port P1 of the STP node 100 is assumed to represent the input port 400-1 of the STP node 100.
The frame analysis units 410-1 and 410-2 of the STP node 100 send a BPDU (Bridge Protocol Data Unit) as a special frame for use by the STP unit 500 of the STP node 100 to the STP unit 500 of the STP node 100 and sends other frames than BPDU to the switch unit 420 of the STP node 100.
The switch unit 420 of the STP node 100 determines an output port of a received frame, as well as sending the frame to an appropriate function block among the frame multiplexing units 430-1 and 430-2 and the output port 440-3 of the STP node 100 according to the determination.
After multiplexing a frame sent from the switch unit 420 of the STP node 100 and a BPDU sent from the STP unit 500 of the STP node 100, the frame multiplexing units 430-1 and 430-2 of the STP node 100 send the obtained frame to the output ports 440-1 and 440-2 of the STP node 100.
The output ports 440-1˜440-3 of the STP node 100 are ports for transmitting a frame to the adjacent STP node 110 or 120 or Ethernet (registered trademark) node 300, which are equivalent to transmission units of P1˜P3 of the STP node 100 shown in FIG. 1.
In the following, denotation of the output port P1 of the STP node 100 is assumed to represent the output port 440-1 of the STP node 100.
The FDB unit 450 of the STP node 100 is formed of the FDB 470 for registering a relationship between a destination MAC address of a frame and an output port, and the FDB control unit 460 for searching and updating the contents of the FDB 470.
FIG. 4 is an example of the FDB 470 of the STP node 100.
For example, registered in the first entry of the FDB 470 of the STP node 100 shown in FIG. 4 is the port P3 of the STP node 100 corresponding to a MAC address of the Ethernet (registered trademark) node 300.
This represents that as a result of search of the contents of the FDB 470 by the FDB control unit 460, the STP node 100 transmits a frame whose destination MAC address is a MAC address of the Ethernet (registered trademark) node 300 from the port P3 of the STP node 100.
The STP unit 500 of the STP node 100 transmits and receives BPDU to/from the STP nodes 110 and 120 through the input ports 400-1 and 400-2 and the frame analysis units 410-1 and 410-2, and the frame multiplexing units 430-1 and 430-2 and the output ports 440-1 and 440-2, and compares path costs with each other to determine a port state of the ports P1 and P2 to be controlled by STP of the STP node 100, as well as registering the port state at the port state table 510 of the STP node 100.
Registered at the port state table 510 of the STP node 100 is a port state (either the blocked state or the forwarding state) of a port (ports P1 and P2) to be controlled by STP of the STP node 100.
(Frame Broadcast-Transfer and MAC Address Learning)
First, description will be made of operation of transmitting a frame from the Ethernet (registered trademark) node 300 to the Ethernet (registered trademark) node 310 immediately after start of operation of the communication system shown in FIG. 1.
The STP node 100, upon receiving a frame transmitted from the Ethernet (registered trademark) node 300 under the control of the node itself at the input port 400-3 of the STP node 100, sends the frame to the switch unit 420 of the STP node 100.
The switch unit 420 of the STP node 100 asks the FDB control unit 460 of the STP node 100 to register, at the FDB 470 of the STP node 100, a relationship between a transmission source MAC address of the frame and a reception port of the frame as a relationship between a destination MAC address and an output port.
The FDB control unit 460 of the STP node 100 registers at the FDB 470 of the STP node 100 a relationship between a transmission source MAC address (the MAC address of the Ethernet (registered trademark) node 300) of the frame and a reception port (the port P3 of the STP node 100) of the frame as a relationship between a destination MAC address and an output port (see FIG. 4).
The foregoing operation of registering a relationship between a destination MAC address and an output port at the FDB 470 will be in general called MAC address learning.
Simultaneously with the request for MAC address learning, the switch unit 420 of the STP node 100 asks the FDB control unit 460 of the STP node 100 to search for an output port registered corresponding to the destination MAC address (a MAC address of the Ethernet (registered trademark) node 310) of the frame at the FDB 470 of the STP node 100.
By searching the FDB 470 of the STP node 100 with the destination MAC address of the frame as a key, the FDB control unit 460 of the STP node 100 obtains an output port registered corresponding to the destination MAC address of the frame.
Since immediately after start of operation of the communication system, nothing is registered at the FDB 470 of the STP node 100, search for an output port by the FDB control unit 460 of the STP node 100 fails.
Accordingly, the FDB control unit 460 of the STP node 100 notifies the switch unit 420 of the STP node 100 that search fails.
When receiving a notification of a search failure, the switch unit 420 of the STP node 100 transmits the frame through all the ports in the forwarding state among the ports to be controlled by STP and all the ports not to be controlled by STP (excluding a reception port of the frame).
More specifically, after being sent to the frame multiplexing units 440-1 and 440-2 of the STP node 100, the frame is transmitted to the STP nodes 110 and 120 from the output ports 440-1 and 440-2 of the STP node 100.
Since the output port 440-3 is a transmission unit of the reception port P3 of the frame, no frame is transmitted through the output port 440-3.
The above-described frame transfer method will be referred to as broadcast-transfer.
In the following, description will be made of operation of the STP node 110 which is executed after receiving, at the input port 400-2 of the STP node 110, a frame transmitted from the output port 440-1 of the STP node 100.
Operation of the STP node 120 executed after receiving, at the input port 400-1 of the STP node 120, a frame transmitted from the output port 440-2 of the STP node 100 is the same as the operation of the STP node 110 which will be described later.
Upon receiving a frame at the input port 400-2 of the STP node 110 which is transmitted from the STP node 100, the STP node 110 sends the frame to the frame analysis unit 410-2 of the STP node 110.
When the frame is BPDU, the frame analysis unit 410-2 of the STP node 110 sends the same to the STP unit 500 of the STP node 110 and when the frame is not BPDU, sends the same to the switch unit 420 of the STP node 110.
In a case where the frame reception port is to be controlled by STP, when the port state of the reception port is the blocked state, the switch unit 420 of the STP node 110 abandons the frame and when the same is the forwarding state, executes MAC address learning and frame broadcast-transfer similarly to the above-described operation executed when the STP node 100 receives a frame from the Ethernet (registered trademark) node 300.
More specifically, a relationship between a transmission source MAC address of the frame (the MAC address of the Ethernet (registered trademark) node 300) and the reception port (the port P2 of the STP node 110) will be registered at the FDB 470 of the STP node 110 as a relationship between a destination MAC address and an output port (see FIG. 4).
In addition, the frame is transmitted to the STP node 120 from the output port 440-1 of the STP node 110 and also to the Ethernet (registered trademark) node 310 from the output port 440-3 of the STP node 110.
As described in the foregoing, the frame transmitted from the Ethernet (registered trademark) node 300 directed to the Ethernet (registered trademark) node 310 is transferred to the Ethernet (registered trademark) node 310.
With reference to FIG. 1, since the frame transmitted from the output port 440-1 of the STP node 110 is received at the input port 2 of the STP node 120 in the blocked state, it is abandoned by the STP node 120 and is not further transferred.
(Unicast-Transfer of Frame)
Next, description will be made of operation of returning a frame from the Ethernet (registered trademark) node 310 to the Ethernet (registered trademark) node 300 subsequently to transfer of the frame from the Ethernet (registered trademark) node 300 to the Ethernet (registered trademark) node 310.
Upon receiving a frame directed to the Ethernet (registered trademark) node 300 from the Ethernet (registered trademark) node 310 at the input port 400-3 of the STP node 110, the STP node 110 sends the frame to the switch unit 420 of the STP node 110.
The switch unit 420 of the STP node 110 requests the FDB control unit 460 of the STP node 110 for MAC address learning related to the received frame and search for an output port.
More specifically, registered at the FDB 470 of the STP node 110 is a relationship between a transmission source MAC address of the frame (the MAC address of the Ethernet (registered trademark) node 310) and the reception port (the port P3 of the STP node 110) as a relationship between a destination MAC address and an output port (see FIG. 4).
Since by the above-described MAC address learning executed in the process of frame transfer from the Ethernet (registered trademark) node 300 to the Ethernet (registered trademark) node 310, the port P2 is registered as an output port at the FDB 470 of the STP node 110 in correspondence with the MAC address of the Ethernet (registered trademark) node 300 as a destination MAC address of the received frame, the FDB control unit 460 of the STP node 110 notifies the switch unit 420 of the STP node 110 that the output port of the received frame is the port P2.
After being sent to the frame multiplexing unit 430-2 of the STP node 110 by the switch unit 420 of the STP node 110, the frame is transmitted to the STP node 100 from the output port 440-2 of the STP node 110.
The foregoing frame transfer method is referred to as unicast-transfer.
Next, upon receiving the frame transmitted from the STP node 110 at the input port 400-1 of the STP node 100, the STP node 100 sends the frame to the frame analysis unit 410-1 of the STP node 100.
When the received frame is BPDU, the frame analysis unit 410-1 of the STP node 100 sends the same to the STP unit 500 of the STP node 100 and when the frame is not BPDU, sends the same to the switch unit 420 of the STP node 100.
In a case where the frame reception port is to be controlled by STP, when the port state of the reception port is the blocked state, the switch unit 420 of the STP node 100 abandons the frame and when the same is the forwarding state, executes MAC address learning and frame unicast-transfer similarly to the above-described case where the STP node 110 receives a frame from the Ethernet (registered trademark) node 310.
More specifically, a relationship between the transmission source MAC address of the frame (the MAC address of the Ethernet (registered trademark) node 310) and the reception port (the port P1 of the STP node 100) will be registered at the FDB 470 of the STP node 100 as a relationship between a destination MAC address and an output port (see FIG. 4).
Since by the above-described MAC address learning executed in the process of frame transfer from the Ethernet (registered trademark) node 300 to the Ethernet (registered trademark) node 310, the port P3 is registered as an output port at the FDB 470 of the STP node 100 in correspondence with the MAC address of the Ethernet (registered trademark) node 300 as a destination MAC address of the received frame, the FDB control unit 460 of the STP node 100 notifies the switch unit 420 of the STP node 100 that the output port of the frame is the port P3.
The frame is transmitted from the output port 440-3 of the STP node 100 to the Ethernet (registered trademark) node 300 by the switch unit 420 of the STP node 100.
Thus, the frame directed to the Ethernet (registered trademark) node 300 which is transmitted from the Ethernet (registered trademark) node 310 will be transferred to the Ethernet (registered trademark) node 300.
(Operation of STP Failure Recovery at Link Cut-Off)
Next, description will be made of failure recovery operation when a link 220 is cut off in the Ethernet (registered trademark) network shown in FIG. 1.
When the link 220 shown in FIG. 1 is cut off, a new spanning tree will be restructured by STP which detours a failing part.
Assume here that among the ports belonging to the STP nodes 100˜120, as a result of change of the port states of the ports P1 and P2 by STP which are ports to be controlled by STP as shown in FIG. 2, such a spanning tree as indicated by the heavy line in FIG. 2 is restructured.
When a new spanning tree is restructured, the STP unit 500 of each of the STP nodes 100˜120 asks the FDB control unit 460 of each of the STP nodes 100˜120 to erase all the contents of the FDB 470 of STP nodes 100˜120.
This is because even when a new spanning tree is restructured, unless the contents of the FDB are all erased or unless the contents of the FDB are updated according to the new spanning tree, a frame might be transmitted to a link developing the fault.
The above-described operation of erasing all the contents of FDB is referred to as flush of FDB.
Since after the FDB control unit 460 of each of the STP nodes 100˜120 flushes the FDB 470 of the STP nodes 100˜120, the frame will be transferred in a completely similar manner to that of the above-described frame transfer executed immediately after start of operation of the communication system, communication can be continued.
As described in the foregoing, in the Ethernet (registered trademark) network to which STP is applied, communication can be continued by restructuring a spanning tree detouring a failing part, as well as flushing or updating the FDB of the STP node.
Non-patent Literature 1: “STP (Spanning Tree Protocol)”, IEEE Standards 802.1D, IEEE, 1998.
The above-described network node according to the related art, however, has a problem that as the number of entries in FDB is increased, time required for flushing or rewriting the FDB is increased to delay recovery from a failure.
FIG. 5 shows a graph of a relationship between the number of entries in FDB and time required for flushing FDB (flushing time) which is measured by using a mass-marketed Ethernet (registered trademark) node.
Reference to FIG. 5 finds that for erasing all of not less than 10,000 entries which are expected to be required for a trunk system communication system, not less than one second is required.
Here, FDB is in many cases mounted as CAM (Content Addressable Memory).
Although the CAM has extremely high-speed search performance, deletion or change of registration contents requires processing on an entry basis.
Therefore, such processing as erasing of the contents of numerous entries at once as flushing of FDB costs enormous time.
It is estimated that the reason why in the graph of FIG. 5, an FDB flushing time is proportionally increased to the number of entries of FDB is presumed that because the FDB of the Ethernet (registered trademark) node used in the measurement is formed of CAM, and entries in the FDB are sequentially erased one by one to require enormous time for flushing.
As described in the foregoing, when a failure occurs in an Ethernet (registered trademark) network to which STP is applied, even if a new spanning tree is restructured in a short time period, because enormous time is required for flushing FDB, it is impossible to realize such an extremely short failure recovery time as not more than 50 ms provided by SONET.
The present invention, which is intended to solve the above-described problems, aims at providing highly reliable network node, frame transfer program and frame transfer method which enable recovery in a short time period from an abnormality occurring due to a communication failure.